package com.cmes.core;

import com.cmes.core.utils.ArrayUtils;

/**
 * 带编码的响应数据
 *
 * @author Bruce.Gong
 * @since 1.0.0-SNAPSHOT
 */
public interface ResponseCode {

    /**
     * 编码
     *
     * @return String
     */
    String getCode();

    /**
     * 提示
     *
     * @return String
     */
    String getMessage();

    /**
     * 对提示进行参数填充
     *
     * @param params 参数列表
     * @return String
     * @see String#format(String, Object...)
     */
    default String format(Object... params) {
        return ArrayUtils.isEmpty(params) ? this.getMessage() : String.format(this.getMessage(), params);
    }

}
